<?php
function f(&$name){ //形参的前面加上符号&，表示传引用
    $name .= '丰'; // $name = $name . '丰' // .字符串拼接运算符
}
$n='张三';
f($n);
echo "$n\n"; //张三丰

$a=['php'=>90,'java'=>80, 'js'=>95];
asort($a);
print_r($a); //排序的结果就在数组$a中

//4.2.1.3 默认参数, 有默认值的参数都放在参数列表的右侧
function f2($name,$age=20){
    echo "$name, $age\n";
}
f2('张三'); //张三, 20
f2('李四',22); //李四, 22
//可变数量的参数列表。由 ... 语法实现
function sum(...$numbers) { //多个参数可以是0,1,2,....个参数
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}
echo sum(1, 2, 3, 4),"\n"; //10
echo sum(),"\n"; //0

//命名参数与位置参数可同时使用，此时命名参数必须在位置参数之后
function f3($name,$age=20,$sex='男'){
    echo "$name, $age, $sex\n";
}
f3('杨柳依依', sex:'女'); //杨柳依依, 20, 女
f3(sex:'女', name:'杨柳依依',age:18); //杨柳依依, 18, 女
